package nina.yiyou.attendance.s20sum.output


import nina.yiyou.salary.process.global.GlobalResultMaker

import java.nio.file.Path

class DetailSumGenerator {

  DetailSumGenerator(List<Map> employeeResult, GlobalResultMaker.Result globalResult) {
    _employeeResult = employeeResult
    _globalResult = globalResult
  }

  void generate() {
    List<String> keys = makeTemplateKeys()
    Path out = _globalResult.resolvePath('out.考勤汇总')

    new SumCsvExporter(out, _employeeResult, keys).export()
  }

  /**
   * 考勤汇总表的列
   *
   * @see nina.yiyou.attendance.s20sum.compute.AttendDetailSummarizer#sumEmployee
   */
  private List<String> makeTemplateKeys() {
    return [
        '基本.工号',
        '明细.姓名',
        '计算2.日历天数',
        '计算2.打卡天数',
        '计算2.试用应计',
        '计算2.试用实计',
        '计算2.转正应计',
        '计算2.转正实计',
        '计算2.工作时长',
        '计算2.获得调休',
        '计算2.迟到',
        '计算2.忘打卡',
        '计算2.加班',
//        '计算2.餐补',
        '计算2.事假',
        '计算2.病假',
        '计算2.调休假',
        '计算2.年假',
        '计算2.产检假',
        '计算2.产假',
        '计算2.丧假',
        '计算2.婚假',
        '计算2.其他',
    ]
  }

  private final List<Map> _employeeResult

  private final GlobalResultMaker.Result _globalResult
}
